export function getCookie(name: string): string {
    // 将document.cookie字符串按照; 分割成数组
    const cookies = document.cookie.split('; ');
    // 遍历cookie数组，寻找指定的cookie
    for (let i = 0; i < cookies.length; i++) {
        // 分割cookie的键值对
        const [key, value] = cookies[i].split('=');
        // 判断是否找到了指定的cookie
        if (key === name) {
            return value; // 返回找到的cookie值
        }
    }
    return ''; // 如果没有找到，返回空字符串
}
export function levelLoop(arr: any) {
    const returnArr: any[] = [];
    // 返回的数组
    let levelArr: any[] = [];
    // 当前层级的数组
    let lastLevelArr: any[] = [];
    // 上一层数组
    let idLevleArr: any[] = [];
    // 当前层级id的数组
    let lastIdLevleArr: any[] = [];
    // 上一层级id的数组
    let indexLevelArr: any[] = [];
    // 当前层级索引的数组
    return curLoop(arr);
    function curLoop(curArr: any[]) {
        curArr.forEach((curItem: any, curIndex: number) => {
            if (curItem.pid === 0) {
                // 最外层
                returnArr.push(curItem);
                levelArr.push(curItem);
                idLevleArr.push(curItem.key);
                indexLevelArr.unshift(curIndex);
                // 添加到最前面，遍历删除元素时从后面开始删除，不会影响index的位置
            } else {
                const lastIndex = lastIdLevleArr.indexOf(curItem.pid);
                if (lastIndex > -1) {
                    // 属于上一层级的子级
                    // 如果上一层级没有child则添加该属性，此时添加是保证有子元素指向上一层级才添加child
                    if (!lastLevelArr[lastIndex].children) {
                        lastLevelArr[lastIndex].children = [];
                    }
                    levelArr.push(curItem);
                    lastLevelArr[lastIndex].children.push(curItem);
                    idLevleArr.push(curItem.key);
                    indexLevelArr.unshift(curIndex);
                }
            }
        }
        );
        lastLevelArr = levelArr;
        levelArr = [];
        lastIdLevleArr = idLevleArr;
        idLevleArr = [];
        indexLevelArr.forEach(index => {
            curArr.splice(index, 1);
            // 删除当前层级的元素，使总数量不断减少
        }
        );
        indexLevelArr = [];
        if (curArr.length) {
            return curLoop(curArr);
        } else {
            return returnArr;
        }
    }
}
export function getExpandKeys(arr:any):any[]{
    let expandKeys:any=[];
    let getKeys=(arr:any)=>{
        arr.forEach((item:any)=>{
            if(item.children&&item.children.length&&item.children.length>0){
                expandKeys.push(item.key)
                getKeys(item.children)
            }
        })
    }
    getKeys(arr);
    return expandKeys
}